package com.mallcloud.mall.mall.api.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.mallcloud.mall.common.core.constant.enums.app.PointsProductRedeemEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "MallPointsProductRedeemRecordVO", description = "积分兑换记录拓展")
@Data
public class MallPointsRedeemRecordExcelVO implements Serializable {
	private static final long serialVersionUID = 1L;

	@ExcelProperty(value = "序号", index = 1)
	@ApiModelProperty(value = "序号")
	private String id;

	@ExcelProperty(value = "商品编码", index = 2)
	@ApiModelProperty("商品编码")
	private String pointsProductCode;

	@ExcelProperty("兑换金额")
	@ApiModelProperty("兑换金额")
	private BigDecimal redeemMoney;

	@ExcelProperty("兑换积分")
	@ApiModelProperty("兑换积分")
	private Long redeemPoints;

	@ExcelProperty("兑换数量")
	@ApiModelProperty("兑换数量")
	private Integer redeemAmount;

	@ExcelProperty("兑换总金额")
	@ApiModelProperty("兑换总金额")
	private BigDecimal redeemTotalMoney;

	@ExcelProperty("兑换总积分")
	@ApiModelProperty("兑换总积分")
	private BigDecimal redeemTotalPoints;

	@ExcelProperty("兑换人手机号")
	@ApiModelProperty("兑换人手机号")
	private String redeemerPhone;

	@ExcelProperty("兑换人会员卡号")
	@ApiModelProperty("兑换人会员卡号")
	private String redeemerPhoneCardNo;

	@ExcelProperty("兑换日期")
	@ApiModelProperty("兑换日期")
	private Date redeemDateTime;

	/**
	 * {@link PointsProductRedeemEnum.RedeemStatusEnum}
	 */
	@ExcelIgnore
	@ApiModelProperty("兑换状态")
	private String redeemStatus;

	@ExcelProperty("兑换状态变更时间")
	@ApiModelProperty("兑换状态变更时间")
	private Date redeemStatusDate;

	@ExcelProperty("兑换状态变更说明")
	@ApiModelProperty("兑换状态变更说明")
	private String redeemStatusDec;

	@ExcelProperty("所属商场编码")
	@ApiModelProperty("所属商场编码")
	private String storeNo;

	//拓展属性--------------------
	@ExcelProperty(value = "商品名称", index = 3)
	@ApiModelProperty("商品名称")
	private String pointsProductName;

	@ExcelProperty("兑换状态名称")
	@ApiModelProperty("兑换状态名称")
	private String redeemStatusName;

}
